当 ActiveX 控件不可见时,VBA 写入单元格的速度缓慢 |
您所在的位置:网站首页 › excel vba保存慢 › 当 ActiveX 控件不可见时,VBA 写入单元格的速度缓慢 |
当许多 ActiveX 控件在Excel 2016中不可见时,VBA 代码会缓慢写入单元格
项目06/06/2024
适用于:
Excel for Microsoft 365, Excel 2019, Excel 2016
症状
请考虑以下情况: 你使用的是 Microsoft 365 专属 Excel、Excel 2016 或更高版本。 工作表包含许多设置为不可见的 ActiveX 控件。 你有一个 VBA 代码,可以将许多公式写入单元格。在此方案中,运行 VBA 代码时,Excel 会非常缓慢地写入单元格。 示例 在Excel 2016工作表中,创建 105 个 ActiveX 控件作为选项按钮。 将选项按钮的 Visible 属性设置为 False。 运行以下 VBA 代码: For row = 1 To 20000 For col = 1 To 5 Cells(row, col).Formula = "=Func()" Next Next你注意到,此代码的运行速度比早期版本的 Excel 慢得多。 原因出现此问题的原因是 Excel 中的设计更改。 由于此更改,当 VBA 代码将公式写入单元格时,会发生以下行为: Excel 使不可见的 ActiveX 控件可见。 VBA 代码将公式写入单元格。 Excel 使 ActiveX 控件再次不可见。 解决方法若要解决此问题,请使用以下某种方法: 查看代码和体系结构,并重新评估是否需要尽可能多的 ActiveX 控件。 将 ActiveX 控件替换为受影响的工作簿中的窗体控件。 暂时使 ActiveX 控件在代码运行时可见。注意 如果工作表中有许多 Shape 对象,则使用解决方法后,VBA 代码可能仍运行缓慢。 在这种情况下,请删除 Shape 对象。 状态Microsoft 已确认,这是“适用于”部分中列出的产品中的问题。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |